HELP = r"""
【安装】
1. 安装python3
2. 打开终端（powershell）运行如下指令:
```bash
cd ODBCReport文件夹路径
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
```

【运行】：
python main.py路径 报告路径 --参数名 [参数值]
如：python "F:\python\ODBCReport\main.py" "F:\python\ODBCReport\STRU Test Notebook" --sw --fix

可选参数[值]
--help 打印帮助信息
--fix 自动修复问题
--sw （SW的报告格式） 不检查Execution_report是否引用证据文件
--fix --zip 自动生成证据压缩包，并在执行报告里插入MD5值
--pdf 转换notebook的docx为pdf


********************  如果你很懒，下面的可以不看 ***************************
不常用参数[值]
--createproject [路径] 创建Test Notebook文件夹
--auto_summary  在fix模式下，插入脚本认为Summary应该总结的步骤(不建议使用)


【注意事项】：
- 适用于Microsoft Office 2021/2019
- 如果开启修订，用脚本后会接受修订
- 严格统一报告模板，格式不统一容易出现问题
- res文件夹是模板文件，不要删除
- backup是备份文件夹
- odbc.log是运行日志
- output.txt是每次运行的结果
- 对于retest报告(如果name.docx存在，则name-xxx.docx被认为是retest报告), 检查时将忽略Not executed的步骤
"""

import os, sys
from colorama import Fore, init
init(autoreset=True)
from hm.common import *
from hm.hos import *

from ODBC_report import REPORT_DIRS
import check
import test_plan

def main():
    if len(sys.argv)>1:
        if '-h' in sys.argv or '--help' in sys.argv:
            return print(HELP)
            
        # 创建报告notebook
        p_name = parse_argv("--createproject")
        if p_name:
            parent = os.path.join(os.path.dirname(__file__), p_name)
            os.makedirs(parent, exist_ok=True)
            for dir in REPORT_DIRS:
                os.makedirs(os.path.join(parent, dir), exist_ok=True)
            return
        
        # 获取文件路径
        if ('-f') in sys.argv:
            path = parse_argv('-f')
        else:
            path = sys.argv[1]
        if not os.path.exists(path):
            print(f"{Fore.RED}文件{path}不存在！将路径放进双引号里重试")
            return
        
        if '--test-plan' in sys.argv:
            test_plan.main(path)
            return
        
        # 检查报告
        check.check(path)
    else:
        print(HELP)


if __name__ == "__main__":
    main()
